package spring.cloud.tasks.tasks_manager.dto;


import lombok.Getter;
import lombok.Setter;
import lombok.extern.slf4j.Slf4j;

import java.util.Date;

@Slf4j
@Setter
@Getter
public class TaskDto {
    private long updateVersion;//= System.currentTimeMillis(); 单个任务的版本肯定是递增的
    private Long id;//添加任务的时候为null，之后都不为空
    private String createBy;
    private Date createTime;
    private String lastUpdateBy;
    private Date lastUpdateTime;

    //
    private String description;
    private String namespaceKey;
    private String taskType;
    private String stateFullTask;
    private String xid;
    private String taskId;


    private String taskLevel;//任务级别A级别最高 B中间 C级别最低。当资源紧张时C级别的任务不跑，B级别按照资源情况判断是否需要跑。A无论资源情况怎样都要跑。
    //
    /**
     * status代表启用和禁用 enable配置则代表是否任务进行调度。
     * 如果在启用的情况下可以进行调度。如果在禁用的情况下则不能进行调度。
     */
    private String status;
    //
    private long fireDateTimeVersion;
    private String cronExpression;
    private String pausePeriodDate;
    private String pausePeriodTime;
    private int preAllotMinutes;
    /**
     * 任务允许延迟执行的秒数
     */
    private Integer secondAfterTaskStopCommandInstructed;
    private int timeoutMinutes;
    private int lockMinutes;//lock时间,相对超时时间的增量
    private int clearMinutes;//相对lock时间的增量
    private int timeoutAlarmMinutes;
    //
    private String taskProperties;
    private String taskDataRangeRule;
    private String taskItemInfo;
    //
    private String preferExecutorIdList;

}
